#if !defined(AFX_COLORCOMBO_H__BD1A9C4A_5A00_4B68_9F5C_B1A2E00AB25F__INCLUDED_)
#define AFX_COLORCOMBO_H__BD1A9C4A_5A00_4B68_9F5C_B1A2E00AB25F__INCLUDED_

#include "ColorComboLB.h"	// Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ColorCombo.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CColorCombo window

class CColorCombo : public CComboBox
{
	friend class CColorComboLB;
// Construction
public:
	typedef struct tagColorComboItem
	{
		COLORREF color;
		CString text;
	} ColorComboItem;

	CColorCombo();

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CColorCombo)
	public:
	virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
	virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
	//}}AFX_VIRTUAL

// Implementation
public:
	void SetTextWidth(int textWidth);
	BOOL SetSelectedColor(COLORREF color);
	void SetColor(int nIndex, COLORREF color);
	COLORREF GetColor(int nIndex);
	COLORREF GetSelectedColor();
	int AddItem(COLORREF rgbValue, LPCTSTR colorText);
	int AddItem(COLORREF rgbValue, int nColorIndex = 0);
	virtual ~CColorCombo();

	// Generated message map functions
protected:
	CArray<ColorComboItem, ColorComboItem> m_arr;
	BOOL m_bShowColorName;
	BOOL m_bSubclassed;
	CColorComboLB m_lb;
	//{{AFX_MSG(CColorCombo)
	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_COLORCOMBO_H__BD1A9C4A_5A00_4B68_9F5C_B1A2E00AB25F__INCLUDED_)
